home *** CD-ROM | disk | FTP | other *** search
-
- EchoMail Technical Reference
- ----------------------------
-
-
- by Wynn Wagner III
-
- 15-June-1987
-
-
-
-
-
-
-
-
-
-
- ECHOMAIL SPECS AND STUFF
- ------------------------
-
- EchoMail is a method of conferencing that uses the FidoNet<tm> protocol
- to broadcast messages.
-
- The FidoNet<tm> protocol is determined by the International FidoNet
- Association ("IFNA"). That protocol involves the physical transmission
- of files one system to another.
-
- EchoMail itself is not affiliated with IFNA or any other association or
- organization. It is a "grass-roots" concoction of fiercely independant
- system operators.
-
- Because there is no association or organization, the EchoMail system
- relies on the goodwill of the sysops who use the system. That means
- these "specs" and "rules" are totally voluntary. There is no means
- for enforcement.
-
- The word "SPECS" is probably out of place here. You can consider this
- more like "Here's the way Opus does EchoMail."
-
- When you see the word "message," it means a message prepared for
- transmission from one system to another. The structure and content of
- a message as it lies on a local system is of no concern to anybody other
- than the system's software and sysop.
-
-
-
-
- IN-TRANSIT MESSAGE STRUCTURE
- ----------------------------
-
-
- IN GENERAL
- ----------
-
- All in-transit messages have two parts: header and body.
-
- The header is defined by FidoNet<tm> specifications.
-
- Those specifications describe the body of a message as being a
- null-terminated character array. It could be that you will find
- a 10k message that looks like a single line of text! The
- character 0x8D is treated as a "soft" return character so that
- messages can be arranged at display-time to fit the user's
- display. A regular return character (0x0D) means what is says:
- transmit a carraige return.
-
- For more information about the FidoNet<tm> protocol or the
- message header, contact 220/1 in the matrix.
-
-
-
-
- REQUIRED ECHOMAIL EXTENSIONS
- ----------------------------
-
- EchoMail adds material at the beginning and the end of the
- message body.
-
- There are four items which are absolutely required. You can
- expect echomail processors to consider a problem with these four
- items to be an error condition.
-
-
-
- AREA STATEMENT
- --------------
-
- When an echomail message is prepared for transmission, one
- piece of information is added: the AREA statement. This
- statement normally does not appear in the message when it
- resides in the local message area.
-
- The procedure is normally called "Scanning."
-
- An AREA statement looks like this:
-
- AREA:areaname
-
- The "A" in "AREA" must be the zeroth character of the
- message body... the first character following the
- message header.
-
- The word AREA is followed by a colon and the name of the
- area.
-
- An areaname can be as long as 60 characters. It is CASE
- SENSITIVE and should always be uppercase. The area name
- can contain alphanumeric characters as well as the
- underscore character.
-
- The AREA statement always ends with a hard return.
-
- Space characters are not part of an AREA statement.
- (Utilities which handle inbound echomail should be
- somewhat resiliant to messages containing space
- characters after the colon.)
-
- EXAMPLES: AREA:SYSOP
-
- AREA:THE_ECHO_AREA_FOR_LIBERTARIANS
-
-
-
-
- TEARLINE
- --------
-
- A tearline is a gadget that separates the text of an
- echomail message from the echomail information appended
- to the message.
-
- It consists of a hard return, followed by three dashes,
- optionally followed by an "scan program identifier.
- The sequence ends with a hard return.
-
- EXAMPLE 1: - - - ... ascii
- 0d 2d 2d 2d 0d ... hex
-
- EXAMPLE 2: --- MyScanProg v1 ... ascii
-
-
- ORIGIN
- ------
-
- The origin line in a message shows the name of the
- system where the message was created. Normally it
- includes the system name and its net/node number.
-
- It consists of a hard return, followed by a space, and
- asterisk, another space, the word "Origin", a colon,
- the originating system's name, and a hard return.
-
- EXAMPLE: * Origin: Your Board Name
-
- That sequence begins like this:
-
- 0d 20 2a 20 4f
-
- The word "Origin" is case SENSITIVE.
-
- Spacing is not optional.
-
-
-
-
- SEEN-BY
- -------
-
- The seen-by section is a sequence of one or more items
- that have this form:
-
- SEEN-BY: net1/node1 [{net2/}node2 .. {netn/}noden]
-
- The word "SEEN-BY" always follows a hard return (<cr> or
- <cr/lf>). That is followed by colon and a space. Then
- comes a list of matrix addresses. Seen-by lines always
- end with a hard return and should be 80 characters or
- shorter.
-
- An echomail message can contain more than one seen-by line.
- The seen-by area is always the last part of a message.
-
- Except for the first address, the NET is optional. It
- is required only when one address is in a net that is
- different from the address immediately in front of it.
-
- These two lines have the same meaning:
-
- SEEN-BY: 124/102 103 133/1
-
- SEEN-BY: 124/102 124/103 133/1
-
- The first example is preferred because it is shorter. The
- NET for node 103 is inferred to be NET 124.
-
-
-
-
-
-
- None of these items is optional. All EchoMail messages must
- contain an AREA statement, a tearline, and origin line, and a
- sequence of 1 or more seen-by lines.
-
- Only the origination station is allowed to touch the tearline
- and the origin line. Some echomail processing methods depend on
- the integrity of those items. After a message leaves the
- originating node, only the seen-by line can be altered.
-
- Some echomail processors use a <cr/lf> combination as a hard
- return. In other words, the hard return can appear as "0d" or
- as "0d 0a".
-
-
-
-
-
-
- RESERVED AREA NAMES
- -------------------
-
- By convention, two area names are reserved...
-
- PRIVATE ... the message should be sent to the area
- where the system normally keeps private
- e-mail.
-
- GENERAL ... the message is for the general (local)
- message area.
-
- One possible use for the PRIVATE "area" is when a net host needs
- to send messages to everyone in your net. The host could use
- echomail programs to handle this "bombing run."
-
- In practice, you may lead an entire life without ever seeing
- a message for PRIVATE or GENERAL.
-
-
-
-
-
-
- MISCELLANEOUS
- -------------
-
-
- CONTROL-A LINES
- ---------------
-
- Material found after a CONTROL-A (hex 01) is considered a
- control type sequence. It is not part of the message itself.
-
- The general form of a CONTROL-A line looks like this:
-
- ^aAAAAAAAA??????????????????<cr>
-
- That's a control-a, followed by one or more uppercase letters,
- followed by some other information.
-
- All CONTROL-A lines end with a hard return character (<cr> or
- <cr/lf>).
-
- The CONTROL-A character (hex 01) signals the beginning of a
- sequence. The return character (hex 0d) signals its end.
-
- Following is an example of a ^a line's usage....
-
-
-
-
- ECHOMAIL IDENTIFICATION
- -----------------------
-
- Opus-Cbcs 1.00 puts an identification behind a CONTROL-A in
- every echomail message processed internally.
-
- Here is the form of this identification:
-
- ^aEID:xxxx xxxxxxxx
-
- That's a CONTROL-A followed by "EID:" and two hexidecimal
- numbers. The first number is a 16-bit CRC of the originating
- system's "*Origin" line. The second number is an Ms-DOS style
- time/date record.
-
- This item can be used to establish a unique identifier for every
- message in the system. Opus uses it as part of the system's
- internal "Kill Dupe" feature.
-
-
-
-
- CONTENT INTEGRITY
- -----------------
-
- Echomail processing programs should not change the contents of
- a message.
-
- The exceptions to that are
-
- * addition of new SEEN-BY items
-
- * addition of items hidden behind a "^a"
-
- The content of the message body (ie the message itself) should
- not be changed for any reason.
-
-
-
-
-
-
- SAMPLE
- ------
-
- Here is a dump of a typical file ready for transmission. It contains
- a single message in the echomail area "WALRUS."
-
- This message was created using the Opus LORE (Line-oriented editor).
- It was "scanned" and put into the OUT file by OOMP (Official Opus
- Message Publisher... an internal scan feature in Opus-Cbcs v1.00).
-
-
- 0: 6c 00 66 00 c3 07 06 00 1b 00 09 00 06 00 18 00 l.f..... ........
- 10: 00 00 02 00 7c 00 7c 00 05 00 00 00 00 00 00 00 ....|.|. ........
- 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
- 30: 00 00 00 00 00 00 00 00 00 00 02 00 6c 00 66 00 ........ ....l.f.
- 40: 7c 00 7c 00 00 00 00 00 32 37 20 4a 75 6e 20 38 |.|..... 27 Jun 8
- 50: 37 20 30 39 3a 30 35 3a 33 33 00 4e 6f 62 6f 64 7 09:05: 33.Nobod
- 60: 79 00 57 79 6e 6e 20 57 61 67 6e 65 72 00 2e 00 y.Wynn W agner...
- 70: 41 52 45 41 3a 57 41 4c 52 55 53 0d 0a 01 45 49 AREA:WAL RUS...EI
- 80: 44 3a 37 31 30 30 20 30 65 64 62 34 38 62 30 0d D:7100 0 edb48b0.
- 90: 8d 0a 54 68 69 73 20 69 73 20 61 20 74 65 73 74 ..This i s a test
- a0: 20 6d 65 73 73 61 67 65 2e 0d 0a 0d 0a 0d 0a 2d message .......-
- b0: 2d 2d 0d 0a 20 2a 20 4f 72 69 67 69 6e 3a 20 54 --.. * O rigin: T
- c0: 68 65 20 50 72 69 76 61 74 65 20 4f 61 6b 20 4c he Priva te Oak L
- d0: 61 77 6e 20 45 78 63 68 61 6e 67 65 20 28 4f 70 awn Exch ange (Op
- e0: 75 73 20 31 3a 31 32 34 2f 31 30 38 29 0d 0a 53 us 1:124 /108)..S
- f0: 45 45 4e 2d 42 59 3a 20 31 32 34 2f 31 30 32 20 EEN-BY: 124/102
- 100: 31 30 38 20 31 31 31 20 32 31 30 20 31 33 32 2f 108 111 210 132/
- 110: 31 30 31 0d 0a 0d 0a 00 00 00 101..... ..
-
-
- ###
-
-